import headSearch from './headSearch'
import headNav from './headNav'
import mainRight from './mainRight'
import footerNav from './footerNav'
import addressForm from './addressForm'
import CarouselBanner from './CarouselBanner/index'
import goodsInfo from './goods/index'
import goodsInfoActivity from './goodsActivity/index'
import orderDetailInfo from './orderDetailGoodsInfo/index'
import sendMesCode from './messCode/index'
import secondMenu from './menu/index'
import product from './product/index'
import invoiceForm from './invoiceForm/index'
import PurchaseBox from './PurchaseBox/index'
import tab from './tab/tab'
import voucher from './voucher/index'
import imgUpload from './imgUpload/index'
import certUpload from './certUpload/index'
import invoice from './invoice'
import ActiveProduct from './ActiveProduct'
import GiftList from './giftSelectList/index'
import step from './step/index'
import privilege from './memberPrivilege/index'
import orderVoucher from './orderVoucher/index'
import StepProduct from './StepProduct/index'
import OctoProduct from './OctoProduct/index'
import BargainProduct from './bargainProduct/index'
import HotProduct from './HotProduct/index'
import BrandProduct from './HotProduct/brand'
import brandProductItem from './brandProduct/product'
import ActivityRank from './ActiveProduct/rank'
import ActivityRankMonth9 from './ActiveProduct/rankMonth9'
import ShopActiveTaskNotice from './ActiveProduct/ShopActiveTaskNotice'
import SlideList from './slideList'
import modelProduct from './modelProduct'
import GoodProduct from './goodProduct/index'
import TypeProduct from './TypeProduct/index'

headSearch.install = function (Vue) {
  Vue.component(headSearch.name, headSearch)
}

headNav.install = function (Vue) {
  Vue.component(headNav.name, headNav)
}

footerNav.install = function (Vue) {
  Vue.component(footerNav.name, footerNav)
}

addressForm.install = function (Vue) {
  Vue.component(addressForm.name, addressForm)
}

invoice.install = function (Vue) {
  Vue.component(invoice.name, invoice)
}
const components = [
  headSearch,
  headNav,
  mainRight,
  CarouselBanner,
  goodsInfo,
  goodsInfoActivity,
  footerNav,
  addressForm,
  sendMesCode,
  secondMenu,
  product,
  invoiceForm,
  PurchaseBox,
  tab,
  voucher,
  imgUpload,
  certUpload,
  orderDetailInfo,
  invoice,
  ActiveProduct,
  GiftList,
  step,
  privilege,
  orderVoucher,
  StepProduct,
  OctoProduct,
  BargainProduct,
  HotProduct,
  BrandProduct,
  brandProductItem,
  ActivityRank,
  ActivityRankMonth9,
  ShopActiveTaskNotice,
  SlideList,
  modelProduct,
  GoodProduct,
  TypeProduct
]
const install = function (Vue, opts = {}) {
  /* istanbul ignore if */
  if (install.installed) return

  components.map(component => {
    Vue.component(component.name, component)
  })
}

/* istanbul ignore if */
if (typeof window !== 'undefined' && window.Vue) {
  install(window.Vue)
}

export {
  headSearch,
  headNav,
  mainRight,
  CarouselBanner,
  install,
  footerNav,
  goodsInfo,
  goodsInfoActivity,
  addressForm,
  sendMesCode,
  secondMenu,
  product,
  invoiceForm,
  PurchaseBox,
  tab,
  voucher,
  imgUpload,
  certUpload,
  orderDetailInfo,
  invoice,
  ActiveProduct,
  GiftList,
  step,
  privilege,
  orderVoucher,
  StepProduct,
  OctoProduct,
  BargainProduct,
  HotProduct,
  BrandProduct,
  brandProductItem,
  ActivityRank,
  ActivityRankMonth9,
  ShopActiveTaskNotice,
  SlideList,
  modelProduct,
  GoodProduct,
  TypeProduct
}
